<!--
  ~ Licensed to the Apache Software Foundation (ASF) under one or more
  ~ contributor license agreements.  See the NOTICE file distributed with
  ~ this work for additional information regarding copyright ownership.
  ~ The ASF licenses this file to You under the Apache License, Version 2.0
  ~ (the "License"); you may not use this file except in compliance with
  ~ the License.  You may obtain a copy of the License at
  ~
  ~     http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License.
  ~
  -->

<assembly
    xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
    <id>dist</id>
    <formats>
        <format>tar.gz</format>
    </formats>
    <fileSets>
        <fileSet>
            <directory>${project.basedir}/../dist-material/bin</directory>
            <outputDirectory>bin</outputDirectory>
            <includes>
                <include>*.sh</include>
                <include>*.bat</include>
            </includes>
            <fileMode>0755</fileMode>
        </fileSet>
        <fileSet>
            <directory>${project.basedir}/../dist-material</directory>
            <outputDirectory>config</outputDirectory>
            <includes>
                <include>log4j2.xml</include>
                <include>alarm-settings.yml</include>
            </includes>
        </fileSet>
        <fileSet>
            <directory>${project.basedir}/../dist-material</directory>
            <outputDirectory/>
            <includes>
                <include>config-examples/*</include>
            </includes>
        </fileSet>
        <fileSet>
            <directory>${project.basedir}/../oap-server/server-starter/src/main/resources</directory>
            <includes>
                <include>application.yml</include>
                <include>component-libraries.yml</include>
                <include>gateways.yml</include>
                <include>service-apdex-threshold.yml</include>
                <include>endpoint-name-grouping.yml</include>
                <include>metadata-service-mapping.yaml</include>
                <include>trace-sampling-policy-settings.yml</include>
                <include>hierarchy-definition.yml</include>
                <include>oal/*.oal</include>
                <include>fetcher-prom-rules/*.yaml</include>
                <include>envoy-metrics-rules/**</include>
                <include>meter-analyzer-config/*.yaml</include>
                <include>zabbix-rules/*.yaml</include>
                <include>openapi-definitions/*/*.yaml</include>
                <include>otel-rules/**</include>
                <include>ui-initialized-templates/*/*.json</include>
                <include>ui-initialized-templates/menu.yaml</include>
                <include>lal/*</include>
                <include>log-mal-rules/**</include>
                <include>telegraf-rules/*</include>
            </includes>
            <outputDirectory>config</outputDirectory>
        </fileSet>
        <fileSet>
            <directory>${project.basedir}/../oap-server/server-starter/target/oap-libs</directory>
            <outputDirectory>oap-libs</outputDirectory>
        </fileSet>

        <fileSet>
            <directory>${project.basedir}/../oap-server/server-tools/profile-exporter/tool-profile-snapshot-exporter/target/oap-libs</directory>
            <outputDirectory>oap-libs</outputDirectory>
        </fileSet>

        <!-- data generator -->
        <fileSet>
            <directory>${project.basedir}/../oap-server/server-tools/data-generator/target/</directory>
            <includes>
                <include>data-generator-${project.version}.jar</include>
            </includes>
            <outputDirectory>oap-libs</outputDirectory>
        </fileSet>
        <fileSet>
            <directory>${project.basedir}/../oap-server/server-tools/data-generator/src/main/assembly/bin</directory>
            <outputDirectory>tools/data-generator/bin</outputDirectory>
            <includes>
                <include>*.sh</include>
            </includes>
            <fileMode>0755</fileMode>
        </fileSet>
        <fileSet>
            <directory>${project.basedir}/../oap-server/server-tools/data-generator/src/main/resources</directory>
            <outputDirectory>tools/data-generator/config</outputDirectory>
            <includes>
                <include>application.yml</include>
            </includes>
        </fileSet>
        <!-- data generator -->

        <!-- Profile exporter tools -->
        <fileSet>
            <directory>${project.basedir}/../tools/profile-exporter</directory>
            <outputDirectory>tools/profile-exporter</outputDirectory>
        </fileSet>

        <fileSet>
            <directory>${project.basedir}/../dist-material/release-docs</directory>
            <outputDirectory/>
        </fileSet>
    </fileSets>
    <files>
        <file>
            <source>${project.basedir}/../apm-webapp/target/skywalking-webapp.jar</source>
            <outputDirectory>webapp</outputDirectory>
            <fileMode>0644</fileMode>
        </file>
        <file>
            <source>${project.basedir}/../apm-webapp/src/main/resources/application.yml</source>
            <outputDirectory>webapp</outputDirectory>
            <fileMode>0644</fileMode>
        </file>
        <file>
            <source>${project.basedir}/../apm-webapp/src/main/assembly/log4j2.xml</source>
            <outputDirectory>webapp</outputDirectory>
            <fileMode>0644</fileMode>
        </file>
    </files>
</assembly>
